﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ExaminationTT.LoaderLib
{
    using ExternalTypes;
    public interface ILoader
    {
        string Getname();
        IEnumerable<IStudent> GetStudents();
        IEnumerable<ICUnit> GetCUnits();
        IEnumerable<ICourse> GetCourses();
        IEnumerable<IClass> GetClasses();
        IEnumerable<ITeacher> GetTeachesr();
        IEnumerable<IRoom> GetRooms();
        IEnumerable<ISemester> GetSemesters();
        IEnumerable<IRegime> GetRegimes();
    }
    namespace ExternalTypes
    {
        public interface IRoom
        {
            int ID { get; }
            string Description { get; }
        }

        public interface ISemester
        {
            int ID { get; }
            string Description { get; }
        }

        public interface IRegime
        {
            int ID { get; }
            string Description { get; }
        }

        public interface ICourse
        {
            int ID { get; }
            string Acronym { get; }
            string Name { get; }
            IEnumerable<string> CUints { get; }
        }

        public interface ICUnit
        {
            int ID { get; }
            string Acronym { get; }
            string Name { get; }
            IEnumerable<string> Semesters { get; }
            IEnumerable<string> Teachers { get; }
        }

        public interface IClass
        {
            int ID { get; }
            string Name { get; }
            string Regime { get; }
            string Courses { get; }
        }

        public interface ITeacher
        {
            int ID { get; }
            string Name { get; }
        }

        public interface IStudent
        {
            int Number { get; }
            string Name { get; }
            IEnumerable<string> Subscriptions { get; }
        }
    }
}
